package com.fac.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ApiModel(description = "创建设备请求参数")
public class EquipmentCreateDTO implements Serializable {

    @NotBlank(message = "设备编码不能为空")
    @ApiModelProperty(value = "设备编码", required = true, example = "EQ2024001")
    private String code;

    @NotBlank(message = "设备名称不能为空")
    @ApiModelProperty(value = "设备名称", required = true, example = "数控车床")
    private String name;

    @NotNull(message = "分类ID不能为空")
    @ApiModelProperty(value = "分类ID", required = true, example = "1")
    private Long categoryId;

    @ApiModelProperty(value = "品牌", example = "DMG森精机")
    private String brand;

    @ApiModelProperty(value = "型号", example = "NLX 2500")
    private String model;

    @ApiModelProperty(value = "价值", example = "150000.00")
    private BigDecimal value;

    @ApiModelProperty(value = "规格", example = "1500x800x1200mm")
    private String specifications;

    @ApiModelProperty(value = "位置", example = "A区-01-001")
    private String location;

    @ApiModelProperty(value = "供应商", example = "上海机床厂")
    private String supplier;

    @ApiModelProperty(value = "购买日期", example = "2024-01-01 12:00:00")
    private LocalDateTime purchaseDate;

    @ApiModelProperty(value = "保修期", example = "2025-01-01 12:00:00")
    private LocalDateTime warrantyPeriod;
} 